The present invention relates to a computer system, and more particularly to a disk file system capable of providing a high performance of input/output operation.
In present computer systems, data requested from by a higher hierarchy such as a CPU is stored in a secondary storage. When it becomes necessary, CPU reads data from, or writes data to, the secondary storage. A non-volatile storage medium such as a magnetic recording medium and an optical disk, typically a disc drive (hereinafter simply called a drive), is used as such a secondary storage.
In a computer system, a secondary storage of high performance has been desired because information processing technology has recently become highly sophisticated. As one of solutions for this, a disk array has been proposed which is constructed of a number of relatively small capacity drives.
Reports on the performance and reliability of disk arrays (levels 3 and 5) are presented in “A Case for Redundant Arrays of Inexpensive Disks (RAID)”, by D. Patterson, G. Gibson, and R. H. Kartz, at pp. 109–116, June, 1988. In the disk array (level 3), data is divided and processed in parallel, and in the disk array (level 5), data is distributed and processed independently. A disk array written in this paper is presently considered to be a most general disk array.
A disk array (level 5) will be described in which data is distributed and processed independently. In the level 5 disk array, data is not divided but distributively stored in a number of relatively small capacity drives and processed independently. A secondary storage of a mainframe system presently used is generally a drive having a large capacity. It occurs therefore frequently that while the drive is used by one read/write request, another request is required to stand by until the first request is completely processed. Instead of the large capacity drive used as the secondary storage of a mainframe system, a level 5 disk array uses a number of relatively small capacity drives. It is therefore possible to deal with an increased number of read/write requests because the disk array has a number of drives, thereby shortening a wait time of each read/write request. However, the disk array has a number of disks and hence a number of components so that a possibility of failures increases. To improve reliability, it becomes necessary to use parities.
Data stored in a failed drive can be rebuilt by using parities. A parity is generated from corresponding data and stored in a drive of the disk array, and the data are stored in different drives of the disk array.
Like a presently used general mainframe system, the storage location (address) of data in a disk array of the secondary storage is fixed and CPU accesses this fixed address for data read/write. International Patent WO 91/20076 discloses a method of dynamically translating a write address in units of track for the basic architecture of the level 5 wherein a table of dynamically changeable addresses is provided and compressed data is written.
JP-A-4-230512 discloses a method of writing data and a correspondingly changed parity into different locations of a level 5 disk array. IBM Corp. has announced a level 5 disk array (9337) provided with a WAD (write assist device) (refer to “Nikkei Watcher, IBM Version”, 1992 Sep. 14 issue, pp. 14–15.